#ifndef SERIALIZABLE_H_
#define SERIALIZABLE_H_

class Serializable {
	/* Clase abstracta que modela objetos que pueden ser trasmitidos
	 * por medios de comunicación entre procesos. */
	public:
		/* Serializa el objeto, devolviendo la información en un buffer.
		 * El tamanio del buffer se asigna en tamanioBuffer.
		 * Post: la destrucción del buffer queda a cargo del usuario. */
		virtual char* serializar(int* tamanioBuffer) = 0;
		
		/* Se recomienda que las clases que extiendan de Serializable
		 * también provean un metodo para deserializar. */
};


#endif /* SERIALIZABLE_H_ */
